31.6 PREPRATION AND LAUNCHING A VIRTUAL MACHINE
#VMX
setupと launchについての手順
VMCS regionの確保
VMCS revision idの初期化
VMCLEAR命令の実行
初期化したVMCS regionのアドレスを引数に
VMCSの状態が"clear"になる
VMCSの状態遷移について
実行中のVMCSのポインタも0xffffffff_ffffffffとする
RFLSGS.CF = 0, RFLAGS.ZF = 0になっていれば成功
VMPTRLD命令の実行
CLRARしたVMCS regionのアドレスを引数に
working-VMCS pointerを新しいもの(引数で与えられたもの)へ変更
VMWRITE命令の実行
Host-state area filedの初期化
VM exit時のホストのentry pointの設定
control registers
CR0, CR3, CR4
selector field for segment registers
CS, SS, DS, ES, etc..
base address fields
FS, GS, GS, TR, GDTR, IDTR, RSP, RIP, MSR
初期化された値は,毎回のVM entryでチェックされる
VMCSにある,VM-exit control, VM-entry control, VM-execution control fieldの設定
このfieldのチェックもVM entry時にされる
Guest-state area fieldの初期化
VMLAUNCH命令の実行